home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / pcboard / wild14.zip / WILD.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-10-05  |  21KB  |  1,421 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN003
  21.     Boolean  BOOLEAN004
  22.     Boolean  BOOLEAN005
  23.     Boolean  BOOLEAN006
  24.     Boolean  BOOLEAN007
  25.     Boolean  BOOLEAN008
  26.     Boolean  BOOLEAN009
  27.     Boolean  BOOLEAN010
  28.     Boolean  BOOLEAN011
  29.     Boolean  BOOLEAN012
  30.     Boolean  BOOLEAN013
  31.     Boolean  BOOLEAN014
  32.     Boolean  BOOLEAN015
  33.     Integer  INTEGER001
  34.     Integer  INTEGER002
  35.     Integer  INTEGER003
  36.     Integer  INTEGER004
  37.     Integer  INTEGER005
  38.     Integer  INTEGER006
  39.     Integer  INTEGER007
  40.     Integer  INTEGER008
  41.     Real     REAL001
  42.     Real     REAL002
  43.     Real     REAL003
  44.     Real     REAL004
  45.     Real     REAL005
  46.     String   STRING010
  47.     String   STRING013
  48.     String   STRING014
  49.     String   STRING015
  50.     String   STRING016
  51.     String   STRING017
  52.     String   STRING018
  53.     String   STRING019
  54.     String   STRING020
  55.     String   STRING021
  56.     String   STRING022
  57.     String   TSTRING023(20)
  58.     String   STRING024
  59.     String   STRING025
  60.     String   STRING026
  61.     String   STRING027
  62.     String   STRING028
  63.     String   STRING029
  64.     String   STRING030
  65.     String   STRING031
  66.     String   STRING032
  67.     String   STRING033
  68.     String   STRING034
  69.     String   STRING035
  70.     String   STRING036
  71.     String   STRING037
  72.     String   STRING038
  73.     String   STRING039
  74.     String   STRING040
  75.     String   STRING041
  76.     String   STRING042
  77.     String   STRING043
  78.     String   STRING044
  79.     String   STRING045
  80.     String   STRING046
  81.     String   STRING047
  82.     String   STRING048
  83.     String   STRING049
  84.     String   STRING050
  85.     String   STRING051
  86.     String   STRING052
  87.     String   STRING053
  88.     String   STRING054
  89.     String   STRING055
  90.     String   STRING056
  91.     String   STRING057
  92.     String   STRING058
  93.     String   STRING059
  94.     String   STRING060
  95.     String   TSTRING061(10)
  96.     String   TSTRING062(10)
  97.     String   STRING063
  98.     Byte     BYTE001
  99.     Int      INT001
  100.     Int      INT002
  101.     Int      INT003
  102.     Int      INT004
  103.     Int      INT005
  104.     Int      INT006
  105.     Int      INT008
  106.     Int      INT009
  107.     Int      INT010
  108.     Int      INT011
  109.     Int      INT012
  110.     Int      INT013
  111.     Int      INT014
  112.     Int      INT015
  113.     Int      INT016
  114.     Int      INT017
  115.     Int      INT018
  116.     Int      INT019
  117.     Int      INT020
  118.     Int      INT021
  119.     Int      INT022
  120.     Int      INT023
  121.     Int      INT024
  122.     Int      INT025
  123.     Int      INT026
  124.     Int      INT027
  125.     Int      INT028
  126.     Int      INT029
  127.     Int      INT030
  128.     Int      INT031
  129.     Int      INT032
  130.     Int      INT033
  131.     Int      INT034
  132.     Int      INT035
  133.     Int      INT036
  134.     Int      INT037
  135.     BigStr   BIGSTR001
  136.     BigStr   BIGSTR002
  137.     Declare  Function FUNCTION001(String STRING001, String STRING002, String STRING003) Boolean
  138.     Declare  Function FUNCTION002(String STRING008, String STRING009) Boolean
  139.     Declare  Function FUNCTION003(String STRING011, String STRING012, Int INT007) String
  140.     Declare  Procedure PROC001(Var Boolean BOOLEAN016)
  141.  
  142. ;------------------------------------------------------------------------------
  143.  
  144.     Goto LABEL006
  145.     End
  146.  
  147. ;------------------------------------------------------------------------------
  148.  
  149.     Function FUNCTION001(String STRING001, String STRING002, String STRING003) Boolean
  150.  
  151.     String   STRING004
  152.     String   STRING005
  153.     String   STRING006
  154.     String   STRING007
  155.     Boolean  BOOLEAN002
  156.     String   STRING008
  157.  
  158.     If (InStr(STRING001, ".") <> 0) Then
  159.         STRING006 = Mid(STRING001, 1, InStr(STRING001, ".") - 1)
  160.         STRING007 = Mid(STRING001, InStr(STRING001, "."), Len(STRING001) - InStr(STRING001, ".") + 1)
  161.         If ((STRING007 == ".") || (STRING007 == ".???")) STRING007 = ".*"
  162.     Else
  163.         STRING006 = STRING001
  164.         STRING007 = ".*"
  165.     Endif
  166.     FUNCTION001 = 0
  167.     STRING004 = STRING006
  168.     STRING005 = STRING002
  169.     BOOLEAN002 = FUNCTION002(STRING004, STRING005)
  170.     If (BOOLEAN002) Then
  171.         STRING004 = STRING007
  172.         STRING005 = STRING003
  173.         FUNCTION001 = FUNCTION002(STRING004, STRING005)
  174.     Endif
  175.  
  176.     EndFunc
  177.  
  178.  
  179. ;------------------------------------------------------------------------------
  180.  
  181.     Function FUNCTION002(String STRING008, String STRING009) Boolean
  182.  
  183.     Int      INT001
  184.     Int      INT002
  185.     Int      INT003
  186.     Int      INT004
  187.     Int      INT005
  188.     Int      INT006
  189.     String   STRING010
  190.     String   STRING011
  191.  
  192.     FUNCTION002 = 1
  193.     INT001 = 0
  194.     INT002 = 0
  195.     INT003 = 1
  196.     INT004 = 0
  197.     INT005 = Len(STRING008)
  198.     INT006 = Len(STRING009)
  199.     :LABEL001
  200.     INT001 = INT001 + INT003
  201.     INT002 = INT002 + INT003
  202.     INT004 = INT004 + 1
  203.     If (INT004 > INT006) Goto LABEL002
  204.     STRING010 = Mid(STRING008, INT001, 1)
  205.     If (STRING010 == "*") Goto LABEL003
  206.     If ((STRING010 <> "?") && (Mid(STRING009, INT002, 1) <> STRING010)) Then
  207.         FUNCTION002 = 0
  208.     Else
  209.         Goto LABEL001
  210.         :LABEL002
  211.         If ((INT001 >= Len(STRING008)) || (INT001 < 1)) Return
  212.         If ((Mid(STRING008, INT001, 1) <> "*") && (Mid(STRING008, INT001, 1) <> "?")) Then
  213.             FUNCTION002 = 0
  214.             Goto LABEL004
  215.         Else
  216.             Goto LABEL001
  217.         Endif
  218.         :LABEL003
  219.         If (INT001 <> INT005) Then
  220.             INT003 = -1
  221.             INT005 = INT001
  222.             INT001 = Len(STRING008) + 1
  223.             INT002 = Len(STRING009) + 1
  224.             INT004 = 0
  225.             Goto LABEL001
  226.         Endif
  227.     Endif
  228.     :LABEL004
  229.  
  230.     EndFunc
  231.  
  232.  
  233. ;------------------------------------------------------------------------------
  234.  
  235.     Function FUNCTION003(String STRING011, String STRING012, Int INT007) String
  236.  
  237.     String   STRING014
  238.     String   STRING015
  239.     String   STRING016
  240.     String   STRING017
  241.     Int      INT008
  242.     Int      INT009
  243.     Int      INT010
  244.     Int      INT011
  245.     Int      INT012
  246.  
  247.     If ((InStr(STRING011, "-") == 0) || (InStr(STRING011, "-") == 1)) Goto LABEL005
  248.     STRING015 = STRING011
  249.     STRING011 = ""
  250.     Tokenize STRING015
  251.     If (TokCount() == 0) Goto LABEL005
  252.     For INT010 = 1 To Len(STRING015)
  253.         STRING014 = GetToken()
  254.         If (STRING014 == "") Break
  255.         If (InStr(STRING014, "-") == 0) Then
  256.             STRING011 = STRING011 + STRING014 + " "
  257.             Continue
  258.         Endif
  259.         STRING016 = Mid(STRING014, 1, InStr(STRING014, "-") - 1)
  260.         If (STRING016 <> "") STRING017 = Mid(STRING014, InStr(STRING014, "-") + 1, Len(STRING014))
  261.         INT008 = S2I(STRING016, 10)
  262.         INT009 = S2I(STRING017, 10)
  263.         If (INT008 < 1) Then
  264.             If (INT008 == 0) STRING016 = STRING014
  265.             Newline
  266.             PrintLn ReadLine(STRING012, 38), STRING016, ReadLine(STRING012, 39)
  267.             Delay 36
  268.             Continue
  269.         Endif
  270.         If (INT009 > INT007) Then
  271.             Newline
  272.             PrintLn ReadLine(STRING012, 40), INT009, ReadLine(STRING012, 41)
  273.             Delay 36
  274.             Continue
  275.         Endif
  276.         If (INT009 >= INT008) Then
  277.             For INT011 = INT008 To INT009
  278.                 STRING011 = STRING011 + LTrim(I2S(INT011, 10), " ") + " "
  279.             Next
  280.             Continue
  281.         Endif
  282.         Newline
  283.         PrintLn ReadLine(STRING012, 42), STRING014
  284.     Next
  285.     :LABEL005
  286.     FUNCTION003 = STRING011
  287.  
  288.     EndFunc
  289.  
  290.     :LABEL006
  291.     INT012 = TokCount()
  292.     If (INT012 > 0) Then
  293.         STRING018 = GetToken()
  294.         If ((STRING018 == "DL") || (STRING018 == "FL")) Then
  295.             If (STRING018 == "DL") Then
  296.                 BOOLEAN004 = 1
  297.                 Goto LABEL007
  298.             Endif
  299.             If (STRING018 == "FL") Then
  300.                 BOOLEAN005 = 1
  301.             Endif
  302.             :LABEL007
  303.             Dec INT012
  304.             STRING018 = ""
  305.             STRING018 = GetToken()
  306.         Endif
  307.     Endif
  308.     STRING021 = PPEPath() + "WILDTXT" + LangExt()
  309.     If (!Exist(STRING021)) Log "WILDTXT" + LangExt() + " Does not exist in WILD.PPE directory", 0
  310.     If (INT012 == 0) Then
  311.         STRING019 = ""
  312.         If (BOOLEAN005) Goto LABEL010
  313.         If (FlagCnt()) Then
  314.             If (BOOLEAN004) Goto LABEL008
  315.             STRING022 = "D " + Chr(13)
  316.             Goto LABEL034
  317.             :LABEL008
  318.             STRING020 = ReadLine(STRING021, 1)
  319.             Goto LABEL009
  320.         Endif
  321.         STRING020 = ReadLine(STRING021, 2)
  322.         :LABEL009
  323.         Goto LABEL011
  324.         :LABEL010
  325.         STRING020 = ReadLine(STRING021, 64)
  326.         :LABEL011
  327.         Newline
  328.         InputStr STRING020, STRING019, 14, 80, Mask_Ascii(), 8 + 256 + 16
  329.         If (STRING019 == "") Then
  330.             STRING022 = Chr(13)
  331.             Goto LABEL034
  332.         Endif
  333.         Tokenize STRING019
  334.         STRING018 = GetToken()
  335.         If (BOOLEAN005) Then
  336.             If (STRING018 <> "D") Then
  337.                 STRING022 = STRING019 + Chr(13)
  338.                 Goto LABEL034
  339.                 Goto LABEL012
  340.             Endif
  341.             STRING018 = GetToken()
  342.             If (STRING018 == "") Then
  343.                 STRING022 = Chr(13)
  344.                 Goto LABEL034
  345.             Endif
  346.         Endif
  347.         :LABEL012
  348.         If (!BOOLEAN004 && !BOOLEAN005) Then
  349.             STRING022 = "D "
  350.             BOOLEAN004 = 1
  351.         Endif
  352.     Endif
  353.     INT013 = 0
  354.     While (1) Do
  355.         If (STRING018 == "") Break
  356.         If ((InStr(STRING018, "*") <> 0) || (InStr(STRING018, "?") <> 0)) Then
  357.             If ((((InStr(STRING018, ".") > 9) || (Len(STRING018) - InStr(STRING018, ".") > 3)) || (InStr(STRING018, "**") > 0)) || (InStr(STRING018, "..") > 0)) Then
  358.                 Gosub LABEL021
  359.             Else
  360.                 Inc INT013
  361.                 TSTRING023(INT013) = STRING018
  362.             Endif
  363.         Else
  364.             If (BOOLEAN004) Goto LABEL013
  365.             BOOLEAN004 = 1
  366.             STRING022 = "D "
  367.             :LABEL013
  368.             STRING022 = STRING022 + " " + STRING018
  369.         Endif
  370.         STRING018 = GetToken()
  371.     EndWhile
  372.     If ((INT012 <> 0) && (INT013 == 0)) Then
  373.         INT012 = 0
  374.     Else
  375.         If ((INT012 == 0) && (INT013 == 0)) Goto LABEL034
  376.         INT012 = INT013
  377.         INT013 = 1
  378.         GetUser
  379.         Gosub LABEL023
  380.         STRING043 = PPEPath() + "WILD" + String(PcbNode()) + ".DEF"
  381.         If (Exist(STRING043)) Delete STRING043
  382.         FAppend 6, STRING043, 1, 0
  383.         Gosub LABEL038
  384.         If (InStr(STRING019, ".") > 0) Then
  385.             STRING033 = Mid(STRING019, 1, InStr(STRING019, ".") - 1)
  386.             STRING034 = Mid(STRING019, InStr(STRING019, "."), Len(STRING019) - InStr(STRING019, ".") + 1)
  387.             If ((STRING034 == ".") || (STRING034 == ".???")) STRING034 = ".*"
  388.         Else
  389.             STRING033 = STRING019
  390.             STRING034 = ".*"
  391.             STRING019 = STRING019 + ".*"
  392.         Endif
  393.         StartDisp 1
  394.         Gosub LABEL022
  395.         Gosub LABEL046
  396.         If (!BOOLEAN015) Gosub LABEL047
  397.         Gosub LABEL039
  398.         Gosub LABEL040
  399.         Gosub LABEL041
  400.         FOpen 3, STRING059, 0, 0
  401.         While (1) Do
  402.             FGet 3, STRING024
  403.             BOOLEAN013 = Ferr(3)
  404.             If (INT014 >= INT020) BOOLEAN013 = 1
  405.             If (BOOLEAN006) BOOLEAN013 = 1
  406.             If (BOOLEAN013) Then
  407.                 Inc INT013
  408.                 If (INT013 <= INT012) Then
  409.                     Gosub LABEL043
  410.                     STRING019 = TSTRING023(INT013)
  411.                     Gosub LABEL023
  412.                     Gosub LABEL022
  413.                     STRING028 = Left(STRING019, 1)
  414.                     Frewind 3
  415.                     Continue
  416.                     Goto LABEL014
  417.                 Endif
  418.                 Gosub LABEL043
  419.                 Goto LABEL034
  420.             Endif
  421.             :LABEL014
  422.             BOOLEAN014 = 0
  423.             If (Left(STRING024, 1) <> "%") Then
  424.                 STRING018 = STRING024 + STRING019
  425.                 STRING027 = FindFirst(STRING018)
  426.                 While (STRING027 <> "") Do
  427.                     If (INT022 <> 0) Then
  428.                         If (Mid(STRING027, 1, INT022) == STRING035) Then
  429.                             BOOLEAN007 = 1
  430.                             Goto LABEL015
  431.                         Endif
  432.                         BOOLEAN007 = 0
  433.                         :LABEL015
  434.                         Goto LABEL016
  435.                     Endif
  436.                     If (InStr(STRING027, ".") <> 0) Then
  437.                         STRING029 = Mid(STRING027, 1, InStr(STRING027, ".") - 1)
  438.                         STRING030 = Mid(STRING027, InStr(STRING027, "."), Len(STRING027) - InStr(STRING027, ".") + 1)
  439.                         BOOLEAN007 = FUNCTION001(STRING019, STRING029, STRING030)
  440.                         Gosub LABEL046
  441.                     Endif
  442.                     :LABEL016
  443.                     If (BOOLEAN007) Gosub LABEL044
  444.                     STRING027 = FindNext()
  445.                     Gosub LABEL046
  446.                     PROC001(BOOLEAN006)
  447.                     If (BOOLEAN006) Break
  448.                     If (INT014 >= INT020) Break
  449.                 EndWhile
  450.                 Continue
  451.             Endif
  452.             BOOLEAN014 = 1
  453.             PROC001(BOOLEAN006)
  454.             If (BOOLEAN006) Break
  455.             STRING024 = Mid(STRING024, 2, Len(STRING024))
  456.             FOpen 4, STRING024, 0, 0
  457.             FSeek 4, 127, 0
  458.             FRead 4, BYTE001, 1
  459.             If (BYTE001 == 1) BOOLEAN011 = 1
  460.             Frewind 4
  461.             If (BOOLEAN011) Then
  462.                 FRead 4, INTEGER001, 4
  463.             Else
  464.                 FRead 4, INT030, 2
  465.             Endif
  466.             STRING056 = ""
  467.             STRING028 = Left(STRING019, 1)
  468.             If ((STRING028 == "*") || (STRING028 == "?")) Then
  469.                 STRING028 = "A"
  470.                 INT018 = 1
  471.             Else
  472.                 If (STRING028 < "A") Then
  473.                     STRING056 = STRING028
  474.                     STRING028 = "A"
  475.                 Endif
  476.                 If (STRING028 > "Z") STRING028 = "Z"
  477.                 INT018 = S2I(STRING028, 36) - 9
  478.             Endif
  479.             If (BOOLEAN011) Then
  480.                 FSeek 4, INT018 * 4, 0
  481.                 FRead 4, INTEGER002, 4
  482.                 FRead 4, INTEGER003, 4
  483.             Else
  484.                 FSeek 4, INT018 * 2, 0
  485.                 FRead 4, INT019, 2
  486.                 INTEGER002 = INT019
  487.                 FRead 4, INT019, 2
  488.                 INTEGER003 = INT019
  489.             Endif
  490.             If (((STRING056 < "A") && (STRING056 <> "")) && (STRING028 == "A")) Then
  491.                 INTEGER003 = INTEGER002
  492.                 INTEGER002 = 1
  493.             Endif
  494.             If (STRING028 == "Z") Then
  495.                 If (BOOLEAN011) Then
  496.                     INTEGER003 = INTEGER001
  497.                     Goto LABEL017
  498.                 Endif
  499.                 INTEGER003 = INT030
  500.                 :LABEL017
  501.                 If (STRING056 <> "") Then
  502.                     INTEGER003 = INTEGER002
  503.                     INTEGER002 = 1
  504.                 Endif
  505.             Endif
  506.             Gosub LABEL026
  507.             If (BOOLEAN011) Then
  508.                 FSeek 4, INTEGER002 * 19 + 128, 0
  509.             Else
  510.                 FSeek 4, INTEGER002 * 13 + 128, 0
  511.             Endif
  512.             While (1) Do
  513.                 If (INTEGER002 >= INTEGER003) Break
  514.                 If (INT014 >= INT020) Break
  515.                 Gosub LABEL046
  516.                 PROC001(BOOLEAN006)
  517.                 If (BOOLEAN006) Break
  518.                 FRead 4, STRING029, 8
  519.                 FRead 4, STRING030, 3
  520.                 If (BOOLEAN011) Then
  521.                     FRead 4, INTEGER004, 4
  522.                     FSeek 4, 4, 1
  523.                 Else
  524.                     FRead 4, INT019, 2
  525.                     INTEGER004 = INT019
  526.                 Endif
  527.                 Inc INTEGER002
  528.                 If (INT022 <> 0) Then
  529.                     If (Mid(STRING029, 1, INT022) > STRING035) Break
  530.                     If (STRING035 <> Mid(STRING029, 1, INT022)) Continue
  531.                 Endif
  532.                 STRING029 = RTrim(STRING029, " ")
  533.                 STRING030 = "." + RTrim(STRING030, " ")
  534.                 STRING031 = STRING029 + STRING030
  535.                 If (FUNCTION001(STRING019, STRING029, STRING030)) Gosub LABEL044
  536.             EndWhile
  537.             FClose 4
  538.         EndWhile
  539.         FClose 6
  540.         If (INT014) Goto LABEL018
  541.         Gosub LABEL020
  542.         Goto LABEL019
  543.         :LABEL018
  544.         Gosub LABEL049
  545.         Gosub LABEL030
  546.         :LABEL019
  547.         StartDisp 2
  548.         If (INT013 == INT012) Inc INT013
  549.         Goto LABEL034
  550.         End
  551.         :LABEL020
  552.         If (AnsiOn()) Then
  553.             Print Chr(13)
  554.             ClrEol
  555.         Else
  556.             Newline
  557.         Endif
  558.         PrintLn ReadLine(STRING021, 3)
  559.         Newline
  560.         Wait
  561.         Return
  562.         :LABEL021
  563.         Newline
  564.         PrintLn ReadLine(STRING021, 4), " ", STRING018, ReadLine(STRING021, 5)
  565.         Delay 36
  566.         Return
  567.         :LABEL022
  568.         INT023 = 0
  569.         Newline
  570.         PrintLn ReadLine(STRING021, 9)
  571.         Print ReadLine(STRING021, 10), STRING019
  572.         Newline
  573.         Print ReadLine(STRING021, 11)
  574.         Return
  575.         :LABEL023
  576.         STRING019 = ""
  577.         STRING019 = Upper(TSTRING023(INT013))
  578.         If (InStr(STRING019, "*")) Gosub LABEL025
  579.         STRING046 = STRING018
  580.         Gosub LABEL048
  581.         STRING018 = STRING046
  582.         If (INT031 > 1) Then
  583.             Newline
  584.             Print ReadLine(STRING021, 62), " ", STRING018, " ", ReadLine(STRING021, 63), " ", STRING019
  585.             Newline
  586.             Delay 18
  587.         Endif
  588.         STRING028 = Left(STRING019, 1)
  589.         If ((STRING028 <> "*") || (STRING028 <> "?")) Then
  590.             INT029 = InStr(STRING019, "?")
  591.             INT037 = InStr(STRING019, "*")
  592.             If ((INT029 == 1) || (INT037 == 1)) Then
  593.                 Newline
  594.                 If ((STRING019 == "*.*") && (U_Sec < INT017)) Then
  595.                     DispFile PPEPath() + "allsec", 4 + 1
  596.                     End
  597.                 Endif
  598.             Endif
  599.             If (INT037 > 0) Then
  600.                 If ((INT037 > INT029) && (INT029 == 0)) STRING035 = Mid(STRING019, 1, INT037 - 1)
  601.                 If ((INT037 > INT029) && (INT029 <> 0)) STRING035 = Mid(STRING019, 1, INT029 - 1)
  602.                 If (INT037 < INT029) STRING035 = Mid(STRING019, 1, INT037 - 1)
  603.                 Goto LABEL024
  604.             Endif
  605.             If (INT029 > 0) STRING035 = Mid(STRING019, 1, INT029 - 1)
  606.             :LABEL024
  607.             INT022 = Len(STRING035)
  608.             If (InStr(STRING019, ".") <= INT022) Then
  609.                 INT022 = InStr(STRING019, ".") - 1
  610.                 STRING035 = Mid(STRING019, 1, InStr(STRING019, ".") - 1)
  611.             Endif
  612.         Endif
  613.         Return
  614.         :LABEL025
  615.         INT031 = 0
  616.         For INT024 = 1 To InStr(STRING019, ".")
  617.             If (Mid(STRING019, INT024, 1) == "*") Inc INT031
  618.         Next
  619.         If (INT031 > 1) Then
  620.             STRING018 = STRING019
  621.             STRING019 = "*." + Mid(STRING019, InStr(STRING019, ".") + 1, Len(STRING019) - InStr(STRING019, "."))
  622.         Endif
  623.         Return
  624.         :LABEL026
  625.         BOOLEAN009 = 0
  626.         BOOLEAN008 = 0
  627.         INT028 = INTEGER003
  628.         INT027 = INTEGER002 - 1
  629.         :LABEL027
  630.         If (BOOLEAN009) Goto LABEL028
  631.         REAL001 = INT028
  632.         REAL002 = INT027
  633.         REAL001 = REAL001 / 2
  634.         REAL002 = REAL002 / 2
  635.         REAL003 = REAL001 + REAL002 + 0.5
  636.         INT026 = REAL003
  637.         INTEGER005 = (INT026 - 1) * 13 + 128
  638.         FSeek 4, INTEGER005, 0
  639.         FRead 4, STRING029, 8
  640.         FRead 4, STRING030, 3
  641.         STRING029 = RTrim(STRING029, " ")
  642.         STRING030 = RTrim(STRING030, " ")
  643.         STRING031 = STRING029 + "." + STRING030
  644.         If (Mid(STRING031, 1, INT022) == STRING035) Then
  645.             BOOLEAN008 = 1
  646.             BOOLEAN009 = 1
  647.         ElseIf (INT028 - INT027 < 2) Then
  648.             BOOLEAN009 = 1
  649.         ElseIf (Mid(STRING031, 1, INT022) < STRING035) Then
  650.             INT027 = INT026
  651.         ElseIf (Mid(STRING031, 1, INT022) > STRING035) Then
  652.             INT028 = INT026
  653.         Endif
  654.         Goto LABEL027
  655.         :LABEL028
  656.         Gosub LABEL046
  657.         If (BOOLEAN008) Then
  658.             While (1) Do
  659.                 If (INT026 > 5) Then
  660.                     INT026 = INT026 - 5
  661.                     Goto LABEL029
  662.                 Endif
  663.                 INTEGER002 = 0
  664.                 Break
  665.                 :LABEL029
  666.                 INTEGER005 = INT026 * 13 + 128
  667.                 FSeek 4, INTEGER005, 0
  668.                 FRead 4, STRING029, 8
  669.                 FRead 4, STRING030, 3
  670.                 STRING029 = RTrim(STRING029, " ")
  671.                 STRING030 = RTrim(STRING030, " ")
  672.                 STRING031 = STRING029 + "." + STRING030
  673.                 If (Mid(STRING031, 1, INT022) < STRING035) Then
  674.                     INTEGER002 = INT026
  675.                     Break
  676.                 Endif
  677.             EndWhile
  678.         Endif
  679.         Return
  680.         :LABEL030
  681.         StartDisp 1
  682.         INT033 = 0
  683.         KeyFlush
  684.         Newline
  685.         PrintLn ReadLine(STRING021, 12)
  686.         PrintLn ReadLine(STRING021, 13)
  687.         BOOLEAN010 = 0
  688.         INT031 = 0
  689.         INT033 = INT033 + 3
  690.         INT034 = 3
  691.         STRING043 = PPEPath() + "WILD" + String(PcbNode()) + ".DEF"
  692.         FOpen 7, STRING043, 0, 0
  693.         While (1) Do
  694.             FGet 7, STRING018
  695.             STRING018 = Mid(STRING018, 1, InStr(STRING018, " ") - 1)
  696.             If (Ferr(7)) Break
  697.             Inc INT031
  698.             If (INT031 > INT020) Break
  699.             If (BOOLEAN010) Then
  700.                 BOOLEAN010 = 0
  701.             Else
  702.                 If (INT031 < 10) Print " "
  703.                 Print "@X0F" + String(INT031) + "."
  704.                 If (INT031 < 100) Then
  705.                     Print "   "
  706.                 Else
  707.                     Print "  "
  708.                 Endif
  709.                 Print "@X0A" + STRING018 + Space(18 - Len(String(STRING018)))
  710.                 If (INT031 % INT034 == 0) Then
  711.                     Newline
  712.                     Inc INT033
  713.                 Endif
  714.                 If (INT033 > U_PageLen - 2) Then
  715.                 Endif
  716.                 STRING020 = ReadLine(STRING021, 14)
  717.                 STRING019 = ""
  718.                 InputStr STRING020, STRING019, 14, 1, Mask_Ascii(), 8
  719.                 If (STRING019 == "") Then
  720.                     INT033 = 0
  721.                     If (AnsiOn()) Then
  722.                         Print Chr(13)
  723.                         ClrEol
  724.                     Endif
  725.                     Continue
  726.                     Continue
  727.                 Endif
  728.                 If (STRING019 == YesChar()) Then
  729.                     INT033 = 0
  730.                     Continue
  731.                     Continue
  732.                 Endif
  733.                 If (STRING019 == "Y") Then
  734.                     INT033 = 0
  735.                     Continue
  736.                     Continue
  737.                 Endif
  738.                 If (STRING019 == NoChar()) Then
  739.                     Break
  740.                     Continue
  741.                 Endif
  742.                 If (STRING019 == "N") Then
  743.                     Break
  744.                     Continue
  745.                 Endif
  746.                 If (STRING019 == "F") Then
  747.                     BOOLEAN010 = 1
  748.                     Gosub LABEL031
  749.                     INT033 = 0
  750.                     Continue
  751.                     Continue
  752.                 Endif
  753.                 Return
  754.             Endif
  755.         EndWhile
  756.         Newline
  757.         FClose 7
  758.         BOOLEAN010 = 0
  759.         Goto LABEL032
  760.         :LABEL031
  761.         Newline
  762.         PrintLn ReadLine(STRING021, 15)
  763.         STRING020 = ReadLine(STRING021, 16)
  764.         STRING019 = ""
  765.         InputStr STRING020, STRING019, 14, 50, Mask_Ascii(), 256 + 8
  766.         If (STRING019 == "") Return
  767.         STRING054 = STRING048
  768.         If (InStr(STRING019, "-") > 1) STRING019 = FUNCTION003(STRING019, STRING021, INT020)
  769.         Tokenize STRING019
  770.         INTEGER003 = TokCount()
  771.         If (FlagCnt() + INTEGER003 > INT025) Then
  772.             Newline
  773.             PrintLn ReadLine(STRING021, 17), " @X0E", INTEGER003, ReadLine(STRING021, 18)
  774.             Newline
  775.             PrintLn ReadLine(STRING021, 19), " ", FlagCnt()
  776.             PrintLn ReadLine(STRING021, 20), " ", INTEGER003
  777.             PrintLn ReadLine(STRING021, 21), " ", INT025
  778.             Newline
  779.             INTEGER003 = INT025 - FlagCnt()
  780.             PrintLn ReadLine(STRING021, 22), " @X0E", INTEGER003, ReadLine(STRING021, 23)
  781.         Endif
  782.         Newline
  783.         PrintLn ReadLine(STRING021, 48)
  784.         For INT024 = 1 To INTEGER003
  785.             STRING018 = GetToken()
  786.             If ((S2I(STRING018, 10) == 0) && (STRING018 <> "0")) Then
  787.                 If (STRING027 <> STRING018) Then
  788.                     PrintLn ReadLine(STRING021, 24)
  789.                     PrintLn ReadLine(STRING021, 25) + STRING018 + ReadLine(STRING021, 26)
  790.                     STRING027 = STRING018
  791.                     Newline
  792.                     Delay 36
  793.                 Endif
  794.                 Continue
  795.             Endif
  796.             If ((S2I(STRING018, 10) > INT014) || (S2I(STRING018, 10) < 1)) Then
  797.                 PrintLn ReadLine(STRING021, 27), STRING018, ReadLine(STRING021, 28)
  798.                 Delay 18
  799.                 Continue
  800.             Endif
  801.             STRING027 = ReadLine(STRING043, S2I(STRING018, 10))
  802.             STRING040 = Mid(STRING027, 15, Len(STRING027) - 14)
  803.             STRING027 = Mid(STRING027, 1, InStr(STRING027, " ") - 1)
  804.             If (INTEGER007) Then
  805.                 INTEGER008 = INTEGER008 + FileInf(STRING040 + STRING027, 4)
  806.                 If (INTEGER008 > INTEGER007 - U_BdlDay()) Then
  807.                     Newline
  808.                     PrintLn ReadLine(STRING021, 49)
  809.                     PrintLn ReadLine(STRING021, 50)
  810.                     PrintLn ReadLine(STRING021, 51)
  811.                     Newline
  812.                     PrintLn ReadLine(STRING021, 52)
  813.                     PrintLn ReadLine(STRING021, 53)
  814.                     Newline
  815.                     PrintLn ReadLine(STRING021, 54), INTEGER007
  816.                     PrintLn ReadLine(STRING021, 55), U_BdlDay()
  817.                     PrintLn ReadLine(STRING021, 56), INTEGER007 - U_BdlDay()
  818.                     PrintLn ReadLine(STRING021, 57), INTEGER008
  819.                     INTEGER008 = INTEGER008 - FileInf(STRING040 + STRING027, 4)
  820.                     Break
  821.                 Endif
  822.             Endif
  823.             If ((((((InStr(STRING048, STRING027) == 0) && (InStr(STRING049, STRING027) == 0)) && (InStr(STRING050, STRING027) == 0)) && (InStr(STRING051, STRING027) == 0)) && (InStr(STRING052, STRING027) == 0)) && (InStr(STRING053, STRING027) == 0)) Then
  824.                 Inc INT036
  825.                 STRING026 = Trim(STRING027, " ")
  826.                 STRING048 = STRING048 + STRING026 + " "
  827.                 If (Len(STRING048) > 230) Then
  828.                     While (1) Do
  829.                         If (STRING049 == "") Then
  830.                             STRING049 = STRING048
  831.                             Break
  832.                         Endif
  833.                         If (STRING050 == "") Then
  834.                             STRING050 = STRING048
  835.                             Break
  836.                         Endif
  837.                         If (STRING051 == "") Then
  838.                             STRING051 = STRING048
  839.                             Break
  840.                         Endif
  841.                         If (STRING052 == "") Then
  842.                             STRING052 = STRING048
  843.                             Break
  844.                         Endif
  845.                         If (STRING053 == "") Then
  846.                             STRING053 = STRING048
  847.                             Break
  848.                         Endif
  849.                     EndWhile
  850.                     STRING048 = ""
  851.                 Endif
  852.                 Continue
  853.             Endif
  854.             Newline
  855.             PrintLn ReadLine(STRING021, 29), STRING027, ReadLine(STRING021, 30)
  856.         Next
  857.         If (STRING054 <> STRING048) Then
  858.             INT033 = 0
  859.             Newlines 2
  860.             PrintLn ReadLine(STRING021, 31), INT036, ReadLine(STRING021, 32)
  861.         Endif
  862.         Return
  863.         :LABEL032
  864.         STRING019 = ""
  865.         Newline
  866.         STRING020 = ReadLine(STRING021, 33)
  867.         InputStr STRING020, STRING019, 14, 1, "EFHLR ", 256 + 8 + 2 + 4
  868.         INT033 = 7
  869.         If (STRING019 == "") Then
  870.             If (FlagCnt()) Then
  871.                 If (Left(STRING022, 2) <> "D ") STRING022 = "D " + STRING022
  872.             Endif
  873.             If (INT013 < INT012) Return
  874.             If (BOOLEAN005) STRING022 = STRING022 + Chr(13)
  875.         Else
  876.             Select Case (STRING019)
  877.                 Case "F"
  878.                     Goto LABEL033
  879.                 Case "R"
  880.                     Goto LABEL030
  881.                 Case "E"
  882.                     Gosub LABEL035
  883.                     Goto LABEL032
  884.                 Case "H"
  885.                     Gosub LABEL036
  886.                     Goto LABEL032
  887.                 Case "L"
  888.                     Gosub LABEL037
  889.                     Goto LABEL032
  890.                 Case Else
  891.                     Newline
  892.                     PrintLn ReadLine(STRING021, 34)
  893.                     Delay 36
  894.                     Goto LABEL032
  895.             End Select
  896.             Return
  897.             :LABEL033
  898.             Gosub LABEL031
  899.             Goto LABEL032
  900.         Endif
  901.     Endif
  902.     :LABEL034
  903.     If ((INT013 <= INT012) && (INT012 <> 0)) Return
  904.     If ((((!BOOLEAN004 && !BOOLEAN005) && (STRING022 <> "")) && (STRING022 <> Chr(13))) && (InStr(STRING022, "D ") == 0)) Then
  905.         STRING022 = "D " + STRING022
  906.     Endif
  907.     If (STRING053 <> "") Command 0, "FLAG " + STRING053
  908.     If (STRING052 <> "") Command 0, "FLAG " + STRING052
  909.     If (STRING051 <> "") Command 0, "FLAG " + STRING051
  910.     If (STRING050 <> "") Command 0, "FLAG " + STRING050
  911.     If (STRING049 <> "") Command 0, "FLAG " + STRING049
  912.     If (STRING048 <> "") Command 0, "FLAG " + STRING048
  913.     If ((((((STRING053 <> "") || (STRING052 <> "")) || (STRING051 <> "")) || (STRING050 <> "")) || (STRING049 <> "")) || (STRING048 <> "")) Then
  914.         STRING022 = "D " + Chr(13)
  915.     Endif
  916.     KbdStuff STRING022
  917.     StartDisp 2
  918.     End
  919.     :LABEL035
  920.     If ((((((STRING048 == "") && (STRING049 == "")) && (STRING050 == "")) && (STRING051 == "")) && (STRING052 == "")) && (STRING053 == "")) Then
  921.         Newline
  922.         PrintLn ReadLine(STRING021, 35)
  923.         Delay 36
  924.         Return
  925.     Endif
  926.     Newline
  927.     PrintLn ReadLine(STRING021, 58)
  928.     STRING020 = ReadLine(STRING021, 59) + String(INT036) + ReadLine(STRING021, 60)
  929.     InputStr STRING020, STRING019, 14, 1, Mask_Ascii(), 8 + 16384
  930.     If (STRING019 == YesChar()) Then
  931.         STRING048 = ""
  932.         STRING049 = ""
  933.         STRING050 = ""
  934.         STRING051 = ""
  935.         STRING052 = ""
  936.         STRING053 = ""
  937.         INT036 = 0
  938.         Newlines 2
  939.         PrintLn ReadLine(STRING021, 61)
  940.         Return
  941.     Endif
  942.     If (STRING053 <> "") BIGSTR002 = BIGSTR002 + STRING053
  943.     If (STRING052 <> "") BIGSTR002 = BIGSTR002 + STRING052
  944.     If (STRING051 <> "") BIGSTR002 = BIGSTR002 + STRING051
  945.     If (STRING050 <> "") BIGSTR002 = BIGSTR002 + STRING050
  946.     If (STRING049 <> "") BIGSTR002 = BIGSTR002 + STRING049
  947.     If (STRING048 <> "") BIGSTR002 = BIGSTR002 + STRING048
  948.     STRING048 = ""
  949.     STRING049 = ""
  950.     STRING050 = ""
  951.     STRING051 = ""
  952.     STRING052 = ""
  953.     STRING053 = ""
  954.     INTEGER003 = INT036
  955.     INT036 = 0
  956.     Newline
  957.     If (INTEGER007) FOpen 5, STRING043, 0, 0
  958.     For INT024 = 1 To INTEGER003
  959.         STRING027 = Mid(BIGSTR002, 1, InStr(BIGSTR002, " ") - 1)
  960.         STRING027 = RTrim(STRING027, " ")
  961.         STRING020 = ReadLine(STRING021, 36) + " " + STRING027 + ReadLine(STRING021, 37)
  962.         InputStr STRING020, STRING019, 14, 1, Mask_Ascii(), 256 + 8 + 16384
  963.         If (STRING019 == YesChar()) Then
  964.             Inc INT036
  965.             STRING048 = STRING048 + STRING026 + " "
  966.             If (Len(STRING048) > 200) Then
  967.                 If (STRING049 == "") STRING049 = STRING048
  968.                 If (STRING050 == "") STRING050 = STRING048
  969.                 If (STRING051 == "") STRING051 = STRING048
  970.                 If (STRING052 == "") STRING052 = STRING048
  971.                 If (STRING053 == "") STRING053 = STRING048
  972.                 STRING048 = ""
  973.             Endif
  974.         ElseIf (INTEGER007) Then
  975.             Frewind 5
  976.             While (1) Do
  977.                 FGet 5, STRING025
  978.                 If (Ferr(5)) Break
  979.                 If (InStr(STRING025, STRING027)) Then
  980.                     STRING040 = Mid(STRING025, 15, Len(STRING025) - 14)
  981.                     STRING025 = Mid(STRING025, 1, InStr(STRING025, " ") - 1)
  982.                     INTEGER008 = INTEGER008 - FileInf(STRING040 + STRING027, 4)
  983.                     Break
  984.                 Endif
  985.             EndWhile
  986.         Endif
  987.         BIGSTR002 = Mid(BIGSTR002, InStr(BIGSTR002, " ") + 1, Len(BIGSTR002) - InStr(BIGSTR002, " "))
  988.     Next
  989.     If (INTEGER007) FClose 5
  990.     Return
  991.     :LABEL036
  992.     Newline
  993.     DispFile PPEPath() + "WHLP", 4 + 1
  994.     Return
  995.     :LABEL037
  996.     If ((((((STRING048 == "") && (STRING049 == "")) && (STRING050 == "")) && (STRING051 == "")) && (STRING052 == "")) && (STRING053 == "")) Then
  997.         Newline
  998.         PrintLn ReadLine(STRING021, 43)
  999.         Delay 36
  1000.         Return
  1001.     Endif
  1002.     If (STRING053 <> "") BIGSTR002 = BIGSTR002 + STRING053
  1003.     If (STRING052 <> "") BIGSTR002 = BIGSTR002 + STRING052
  1004.     If (STRING051 <> "") BIGSTR002 = BIGSTR002 + STRING051
  1005.     If (STRING050 <> "") BIGSTR002 = BIGSTR002 + STRING050
  1006.     If (STRING049 <> "") BIGSTR002 = BIGSTR002 + STRING049
  1007.     If (STRING048 <> "") BIGSTR002 = BIGSTR002 + STRING048
  1008.     Newline
  1009.     PrintLn ReadLine(STRING021, 44)
  1010.     Newline
  1011.     INTEGER003 = INT036
  1012.     For INT024 = 1 To INTEGER003
  1013.         STRING027 = Mid(BIGSTR002, 1, InStr(BIGSTR002, " ") - 1)
  1014.         If (INT024 < 10) Print " "
  1015.         Print "@X02" + String(INT024) + "." + Space(3)
  1016.         Print "@X03" + STRING027 + Space(18 - Len(String(STRING027)))
  1017.         If (INT024 % INT034 == 0) Newline
  1018.         BIGSTR002 = Mid(BIGSTR002, InStr(BIGSTR002, " ") + 1, Len(BIGSTR002) - InStr(BIGSTR002, " "))
  1019.     Next
  1020.     Newline
  1021.     Return
  1022.     :LABEL038
  1023.     If (AnsiOn()) Then
  1024.         STRING026 = ReadLine(STRING021, 46)
  1025.     Else
  1026.         STRING026 = ReadLine(STRING021, 47)
  1027.     Endif
  1028.     STRING036 = Mid(STRING026, 1, 1)
  1029.     STRING037 = Mid(STRING026, 2, 1)
  1030.     STRING038 = Mid(STRING026, 3, 1)
  1031.     STRING039 = Mid(STRING026, 4, 1)
  1032.     STRING041 = Chr(8) + Chr(32) + Chr(8)
  1033.     Return
  1034.     End
  1035.  
  1036. ;------------------------------------------------------------------------------
  1037.  
  1038.     Procedure PROC001(Var Boolean BOOLEAN016)
  1039.  
  1040.     String   STRING063
  1041.  
  1042.     STRING018 = MGetByte()
  1043.     STRING063 = Inkey()
  1044.     If ((((STRING018 == 13) || (STRING018 == Chr(13))) || (STRING063 == 13)) || (STRING063 == Chr(13))) Then
  1045.         Print STRING041 + " " + STRING041
  1046.         Newline
  1047.         PrintLn ReadLine(STRING021, 45)
  1048.         BOOLEAN016 = 1
  1049.         Delay 18
  1050.     Endif
  1051.  
  1052.     EndProc
  1053.  
  1054.     :LABEL039
  1055.     STRING055 = ReadLine(PCBDat(), 31) + ".@@@"
  1056.     STRING057 = ReadLine(PCBDat(), 32)
  1057.     STRING058 = ReadLine(PCBDat(), 33)
  1058.     FOpen 1, STRING055, 0, 0
  1059.     FRead 1, INT035, 2
  1060.     FSeek 1, CurConf() * INT035 + 515, 1
  1061.     FRead 1, STRING059, 33
  1062.     FClose 1
  1063.     STRING059 = RTrim(STRING059, " ")
  1064.     STRING057 = RTrim(STRING057, " ")
  1065.     STRING058 = RTrim(STRING058, " ")
  1066.     Return
  1067.     :LABEL040
  1068.     INT031 = 0
  1069.     FOpen 1, STRING058, 0, 0
  1070.     While (1) Do
  1071.         FGet 1, STRING018
  1072.         If (Ferr(1)) Break
  1073.         Gosub LABEL046
  1074.         Inc INT031
  1075.         For INT024 = 1 To 2
  1076.             STRING018 = Mid(STRING018, InStr(STRING018, ",") + 1, Len(STRING018) - InStr(STRING018, ","))
  1077.             If (INT024 == 2) Then
  1078.                 STRING045 = Mid(STRING018, 1, InStr(STRING018, ",") - 1)
  1079.                 If (S2I(STRING045, 10) > U_Sec) Then
  1080.                     BIGSTR001 = BIGSTR001 + String(INT031) + Space(3 - Len(INT031))
  1081.                 Endif
  1082.             Endif
  1083.         Next
  1084.     EndWhile
  1085.     FClose 1
  1086.     Return
  1087.     :LABEL041
  1088.     FOpen 1, STRING057, 0, 0
  1089.     Gosub LABEL046
  1090.     While (1) Do
  1091.         FGet 1, STRING018
  1092.         If (Ferr(1)) Break
  1093.         STRING018 = Mid(STRING018, InStr(STRING018, ",") + 1, Len(STRING018) - InStr(STRING018, ","))
  1094.         STRING027 = Mid(STRING018, 1, InStr(STRING018, ",") - 1)
  1095.         If (S2I(STRING027, 10) == U_Sec) Then
  1096.             For INT024 = 1 To 4
  1097.                 STRING018 = Mid(STRING018, InStr(STRING018, ",") + 1, Len(STRING018) - InStr(STRING018, ","))
  1098.                 If (INT024 == 2) Then
  1099.                     STRING025 = Mid(STRING018, 1, InStr(STRING018, ",") - 1)
  1100.                     If (STRING025 <> "32767") INTEGER007 = S2I(STRING025, 10) * 1000
  1101.                 Endif
  1102.             Next
  1103.             STRING027 = Mid(STRING018, 1, InStr(STRING018, ",") - 1)
  1104.             INT025 = S2I(STRING027, 10)
  1105.             If (INT025 == 0) INT025 = 30
  1106.             Break
  1107.         Endif
  1108.     EndWhile
  1109.     FClose 1
  1110.     Return
  1111.     :LABEL042
  1112.     BOOLEAN012 = 1
  1113.     INT032 = 1
  1114.     While (1) Do
  1115.         Gosub LABEL046
  1116.         INT031 = S2I(Mid(BIGSTR001, INT032, 3), 10)
  1117.         STRING032 = ReadLine(STRING058, INT031)
  1118.         If (STRING032 == "") Break
  1119.         STRING047 = Mid(STRING032, 1, InStr(STRING032, ",") - 1)
  1120.         If ((STRING047 <> STRING044) || ((Len(STRING047) == 2) && (STRING047 == Mid(STRING044, 1, 2)))) Then
  1121.             INT032 = INT032 + 3
  1122.             If (INT032 > Len(BIGSTR001)) Break
  1123.             Continue
  1124.             Continue
  1125.         Endif
  1126.         STRING018 = STRING047 + STRING060
  1127.         If (Len(FindFirst(STRING018)) > 0) Then
  1128.             BOOLEAN012 = 0
  1129.             Break
  1130.         Endif
  1131.         INT032 = INT032 + 3
  1132.         If (INT032 > Len(BIGSTR001)) Break
  1133.     EndWhile
  1134.     Return
  1135.     :LABEL043
  1136.     If (INT014) Then
  1137.         FClose 6
  1138.         Gosub LABEL049
  1139.         Gosub LABEL030
  1140.         If (INT013 <= INT012) Then
  1141.             INT014 = 0
  1142.             Delete STRING043
  1143.             FAppend 6, STRING043, 1, 0
  1144.         Endif
  1145.     Else
  1146.         Gosub LABEL020
  1147.     Endif
  1148.     Return
  1149.     :LABEL044
  1150.     If (BOOLEAN014) Then
  1151.         FOpen 1, STRING024, 0, 0
  1152.         If (BOOLEAN011) Then
  1153.             INTEGER006 = 128 + INTEGER001 * 19 + INTEGER004 * 64
  1154.         Else
  1155.             INTEGER006 = 128 + INT030 * 13 + INTEGER004 * 64
  1156.         Endif
  1157.         FSeek 1, INTEGER006, 0
  1158.         FRead 1, STRING044, 64
  1159.         FClose 1
  1160.         STRING044 = RTrim(STRING044, " ")
  1161.         STRING026 = STRING031
  1162.     Else
  1163.         STRING044 = STRING024
  1164.         STRING026 = STRING027
  1165.     Endif
  1166.     If (TSTRING061(0) <> "") Then
  1167.         For INT024 = 0 To INT015
  1168.             If (InStr(TSTRING061(INT024), STRING026)) Return
  1169.         Next
  1170.     Endif
  1171.     If (TSTRING062(0) <> "") Then
  1172.         For INT024 = 0 To INT016
  1173.             If (InStr(TSTRING062(INT024), STRING044)) Return
  1174.         Next
  1175.     Endif
  1176.     If (BIGSTR001 <> "") Then
  1177.         STRING060 = STRING027
  1178.         Gosub LABEL042
  1179.     Else
  1180.         BOOLEAN012 = 1
  1181.     Endif
  1182.     If (BOOLEAN012) Then
  1183.         If (BOOLEAN014) Goto LABEL045
  1184.         FPut 6, STRING027
  1185.         FPut 6, Space(14 - Len(STRING027))
  1186.         STRING026 = FileInf(STRING044, 6) + ":" + FileInf(STRING044, 7)
  1187.         FPutLn 6, STRING026
  1188.         :LABEL045
  1189.         If (BOOLEAN014) Then
  1190.             FPut 6, STRING031
  1191.             FPut 6, Space(14 - Len(STRING031))
  1192.             STRING026 = FileInf(STRING044, 6) + ":" + FileInf(STRING044, 7)
  1193.             FPutLn 6, STRING026
  1194.         Endif
  1195.         Inc INT014
  1196.     Endif
  1197.     Return
  1198.     :LABEL046
  1199.     REAL004 = Time()
  1200.     If ((REAL004 - REAL005 < 1) && (INT023 <> 0)) Return
  1201.     REAL005 = REAL004
  1202.     If (INT023 == 0) Print " "
  1203.     If (INT023 > 3) INT023 = 0
  1204.     STRING042 = STRING041 + " " + STRING041
  1205.     Inc INT023
  1206.     Select Case (INT023)
  1207.         Case 1
  1208.             STRING042 = STRING042 + STRING036
  1209.         Case 2
  1210.             STRING042 = STRING042 + STRING037
  1211.         Case 3
  1212.             STRING042 = STRING042 + STRING038
  1213.         Case 4
  1214.             STRING042 = STRING042 + STRING039
  1215.     End Select
  1216.     Print STRING042
  1217.     STRING042 = ""
  1218.     Return
  1219.     :LABEL047
  1220.     INT024 = 0
  1221.     STRING026 = PPEPath() + String(CurConf()) + "\FIL" + String(CurConf())
  1222.     If (Exist(STRING026)) Then
  1223.         FOpen 5, STRING026, 0, 0
  1224.         While (1) Do
  1225.             FGet 5, TSTRING061(INT024)
  1226.             If (Ferr(5)) Break
  1227.             TSTRING061(INT024) = Mid(Upper(TSTRING061(INT024)), 1, 255)
  1228.             Inc INT024
  1229.             INT015 = INT024
  1230.             If (INT024 == 10) Break
  1231.         EndWhile
  1232.     Endif
  1233.     INT024 = 0
  1234.     STRING026 = PPEPath() + String(CurConf()) + "\DIR" + String(CurConf())
  1235.     If (Exist(STRING026)) Then
  1236.         FOpen 5, STRING026, 0, 0
  1237.         While (1) Do
  1238.             FGet 5, TSTRING062(INT024)
  1239.             If (Ferr(5)) Break
  1240.             TSTRING062(INT024) = Mid(Upper(TSTRING062(INT024)), 1, 255)
  1241.             Inc INT024
  1242.             INT016 = INT024
  1243.             If (INT024 == 10) Break
  1244.         EndWhile
  1245.     Endif
  1246.     Return
  1247.     :LABEL048
  1248.     If (Exist(PPEPath() + "WILD.CFG")) Then
  1249.         FOpen 1, PPEPath() + "WILD.CFG", 0, 0
  1250.         FGet 1, STRING018
  1251.         INT020 = S2I(STRING018, 10)
  1252.         FGet 1, STRING018
  1253.         INT017 = S2I(STRING018, 10)
  1254.         INT024 = 0
  1255.         INT021 = 0
  1256.         While (1) Do
  1257.             FGet 1, STRING018
  1258.             If (Ferr(1)) Break
  1259.             If (InStr(STRING018, "\") == 0) Then
  1260.                 If (Len(TSTRING061(INT024) + STRING018 + " ") > 255) Then
  1261.                     Inc INT024
  1262.                     INT015 = INT024
  1263.                 Endif
  1264.                 TSTRING061(INT024) = TSTRING061(INT024) + Upper(STRING018) + " "
  1265.                 If (INT024 == 10) Break
  1266.                 Continue
  1267.             Endif
  1268.             If (Len(TSTRING062(INT021) + STRING018 + " ") > 255) Then
  1269.                 Inc INT021
  1270.                 INT016 = INT021
  1271.             Endif
  1272.             TSTRING062(INT021) = TSTRING062(INT021) + Upper(STRING018) + " "
  1273.             If (INT021 == 10) Break
  1274.         EndWhile
  1275.         If ((TSTRING061(0) <> "") || (TSTRING062(0) <> "")) BOOLEAN015 = 1
  1276.     Else
  1277.         Newlines 2
  1278.         PrintLn "@X0FWILD.CFG does not exist in the WILD.PPE directory"
  1279.         Newlines 2
  1280.         PrintLn "@X0C.....Program Aborted.....@X07"
  1281.         Newlines 2
  1282.         Wait
  1283.         End
  1284.     Endif
  1285.     FClose 1
  1286.     Return
  1287.     :LABEL049
  1288.     Print STRING041
  1289.     If (INT014 >= INT020) Then
  1290.         PrintLn ReadLine(STRING021, 6), INT014, ReadLine(STRING021, 7)
  1291.     Else
  1292.         PrintLn ReadLine(STRING021, 8), INT014
  1293.     Endif
  1294.     Return
  1295.  
  1296. ;------------------------------------------------------------------------------
  1297. ;
  1298. ; Usage report (before postprocessing)
  1299. ;
  1300. ; ■ Statements used :
  1301. ;
  1302. ;    6       End
  1303. ;    2       ClrEol
  1304. ;    2       Wait
  1305. ;    310     Goto 
  1306. ;    341     Let 
  1307. ;    17      Print 
  1308. ;    40      PrintLn 
  1309. ;    248     If 
  1310. ;    2       DispFile 
  1311. ;    11      FOpen 
  1312. ;    2       FAppend 
  1313. ;    10      FClose 
  1314. ;    10      FGet 
  1315. ;    4       FPut 
  1316. ;    2       FPutLn 
  1317. ;    4       StartDisp 
  1318. ;    1       GetUser
  1319. ;    2       Delete 
  1320. ;    1       Log 
  1321. ;    6       InputStr 
  1322. ;    37      Gosub 
  1323. ;    33      Return
  1324. ;    10      Delay 
  1325. ;    16      Inc 
  1326. ;    1       Dec 
  1327. ;    37      Newline
  1328. ;    5       Newlines 
  1329. ;    3       Tokenize 
  1330. ;    1       KbdStuff 
  1331. ;    3       Frewind 
  1332. ;    10      FSeek 
  1333. ;    18      FRead 
  1334. ;    1       KeyFlush
  1335. ;    1       EndProc
  1336. ;    3       EndFunc
  1337. ;    6       Command 
  1338. ;
  1339. ;
  1340. ; ■ Functions used :
  1341. ;
  1342. ;    1       -
  1343. ;    12      *
  1344. ;    2       /
  1345. ;    2       %
  1346. ;    160     +
  1347. ;    49      -
  1348. ;    103     ==
  1349. ;    61      <>
  1350. ;    25      <
  1351. ;    14      <=
  1352. ;    33      >
  1353. ;    27      >=
  1354. ;    161     !
  1355. ;    53      &&
  1356. ;    33      ||
  1357. ;    35      Len(
  1358. ;    5       Upper()
  1359. ;    52      Mid()
  1360. ;    5       Left()
  1361. ;    6       Space()
  1362. ;    8       Ferr()
  1363. ;    14      Chr()
  1364. ;    65      InStr()
  1365. ;    1       LTrim()
  1366. ;    11      RTrim()
  1367. ;    1       Trim()
  1368. ;    1       Time()
  1369. ;    3       U_BdlDay()
  1370. ;    1       NoChar()
  1371. ;    3       YesChar()
  1372. ;    1       Inkey()
  1373. ;    12      String()
  1374. ;    5       Mask_Ascii()
  1375. ;    5       CurConf()
  1376. ;    3       PCBDat()
  1377. ;    9       PPEPath()
  1378. ;    2       PcbNode()
  1379. ;    69      ReadLine()
  1380. ;    7       GetToken()
  1381. ;    5       Exist()
  1382. ;    1       I2S()
  1383. ;    14      S2I()
  1384. ;    2       LangExt()
  1385. ;    3       AnsiOn()
  1386. ;    7       FileInf()
  1387. ;    1       MGetByte()
  1388. ;    3       TokCount()
  1389. ;    5       FlagCnt()
  1390. ;    2       FindFirst()
  1391. ;    1       FindNext()
  1392. ;
  1393. ;------------------------------------------------------------------------------
  1394. ;
  1395. ; Analysis flags : di
  1396. ;
  1397. ; d - Access PCBOARD.DAT ■ 2
  1398. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  1399. ;     for many PPE so they can find various informations on the system
  1400. ;     (system paths, max number of lines in messages, ...) but it may also
  1401. ;     be a way to gather vital informations.
  1402. ;     ■ Search for : PCBDAT()
  1403. ;
  1404. ; i - Sequencially read files in directory ■ 3
  1405. ;     Program is reading files in directory sequencially, maybe to get
  1406. ;     a DIR image, but this can be to look for targets to destroy
  1407. ;     ■ Search for : FINDFIRST(), FINDNEXT()
  1408. ;
  1409. ;------------------------------------------------------------------------------
  1410. ;
  1411. ; Postprocessing report
  1412. ;
  1413. ;    10      For/Next
  1414. ;    14      While/EndWhile
  1415. ;    116     If/Then or If/Then/Else
  1416. ;    2       Select Case
  1417. ;
  1418. ;------------------------------------------------------------------------------
  1419. ;                 AEGiS Corp - Break the routines, code against the machines!
  1420. ;------------------------------------------------------------------------------
  1421.